home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / pc / BOBOLI.ZIP / SRC / GUYS.H < prev    next >
Encoding:
C/C++ Source or Header  |  1996-06-01  |  6.9 KB  |  197 lines

  1. /* this is the definition of Boboli and all of the monsters in the entire
  2.    game.
  3. */
  4.  
  5. /* creature kinds */
  6. #define numtypes 6
  7.  
  8. #define boboli   0
  9. #define bonehead 1
  10. #define glob     2
  11. #define golem    3
  12. #define orc      4
  13. #define mage     5
  14. #define nobody 255
  15.  
  16. typedef struct {
  17.   byte  move[nummoves][numsteps];
  18.   short maxhp;
  19.   char  name[16];
  20.   byte  numframes;
  21.   byte  movspd;
  22.   byte  xpvalue;
  23.   byte  active_frame[nummoves]; /*what frame of each move is important */
  24.   byte  range; /* how close should he be to begin melee attacking */
  25. } creature_def;
  26.  
  27. creature_def cd[numtypes]={
  28.  {{
  29.  /* move 0: standing still. */
  30.  {0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
  31.  /* move 1: walking. */
  32.  {1,1,2,2,3,2,2,1,0,0,4,4,5,5,6,5,5,4,4,255,0,0,0,0,0},
  33.  /* move 2: melee attack. */
  34.  {7,8,9,10,11,12,13,14,15,16,17,18,255,0,0,0,0,0,0,0,0,0,0,0,0},
  35.  /* move 3: ouch. */
  36.  {22,23,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
  37.  /* move 4: cast spell. */
  38.  {19,20,21,20,19,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
  39.  /* move 5: fire projectile. */
  40.  {31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,31,255,0,0,0,0,0,0,0},
  41.  /* move 6: get item. */
  42.  {0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
  43.  /* move 7: big ouch. */
  44.  {22,23,24,25,26,26,27,27,28,28,28,29,30,255,0,0,0,0,0,0,0,0,0,0,0},
  45.  /* move 8: death. */
  46.  {28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,255},
  47.  /* move 9: ???????? */
  48.  {0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}},
  49.  /* maxhp */ 200,
  50.  /* name */  "BOBOLI",
  51.  /* numframes */ 47,
  52.  /* move speed */ 2,
  53.  /* xpvalue */ 40,
  54.  /* hitframe */ {0,0,7,0,2,11,0,9,0,0},
  55.  /* range */ 40},
  56.  {{
  57.  /* move 0: standing still. */
  58.  {0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
  59.  /* move 1: walking. */
  60.  {1,2,3,4,3,2,1,0,5,6,7,8,7,6,5,0,255,0,0,0,0,0,0,0,0},
  61.  /* move 2: melee attack. */
  62.  {9,10,11,12,13,13,14,15,16,17,18,19,255,0,0,0,0,0,0,0,0,0,0,0,0},
  63.  /* move 3: ouch. */
  64.  {20,20,21,22,21,20,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
  65.  /* move 4: cast spell. */
  66.  {0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
  67.  /* move 5: fire projectile. */
  68.  {0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
  69.  /* move 6: get item. */
  70.  {0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
  71.  /* move 7: big ouch. */
  72.  {20,21,22,23,24,25,26,27,28,28,28,28,26,24,22,20,255,0,0,0,0,0,0,0,0},
  73.  /* move 8: death. */
  74.  {28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,255},
  75.  /* move 9: ???????? */
  76.  {0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}},
  77.  /* maxhp */ 20,
  78.  /* name */  "BONEHEAD",
  79.  /* numframes */ 29,
  80.  /* move speed */ 3,
  81.  /* xpvalue */ 10,
  82.  /* hitframe */ {0,0,7,0,0,0,0,9,0,0},
  83.  /* range */ 15},
  84.  {{
  85.  /* move 0: standing still. */
  86.  {0,0,0,0,1,1,1,1,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
  87.  /* move 1: walking. */
  88.  {0,1,1,2,2,3,3,4,4,3,3,2,2,1,1,0,255,0,0,0,0,0,0,0,0},
  89.  /* move 2: melee attack. */
  90.  {5,6,7,8,9,10,10,11,11,12,12,255,0,0,0,0,0,0,0,0,0,0,0,0,0},
  91.  /* move 3: ouch. */
  92.  {13,14,15,16,15,14,13,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
  93.  /* move 4: cast spell. */
  94.  {0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
  95.  /* move 5: fire projectile. */
  96.  {5,6,7,8,9,10,10,11,11,12,12,255,0,0,0,0,0,0,0,0,0,0,0,0,0},
  97.  /* move 6: get item. */
  98.  {0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
  99.  /* move 7: big ouch. */
  100.  {13,14,15,16,17,18,19,19,19,19,19,19,19,19,20,20,21,21,255,0,0,0,0,0,0},
  101.  /* move 8: death. */
  102.  {19,19,19,19,19,19,19,19,19,22,22,23,23,24,24,25,25,26,255,0,0,0,0,0,0},
  103.  /* move 9: ???????? */
  104.  {0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}},
  105.  /* maxhp */ 10,
  106.  /* name */  "GLOB",
  107.  /* numframes */ 27,
  108.  /* move speed */ 1,
  109.  /* xpvalue */ 5,
  110.  /* hitframe */ {0,0,6,0,0,7,0,6,0,0},
  111.  /* range */  15},
  112.  {{
  113.  /* move 0: standing still. */
  114.  {0,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
  115.  /* move 1: walking. */
  116.  {0,1,1,2,2,3,3,2,2,1,1,0,0,4,4,5,5,6,6,5,5,4,4,0,255},
  117.  /* move 2: melee attack. */
  118.  {7,8,9,10,11,12,13,14,15,16,17,18,255,0,0,0,0,0,0,0,0,0,0,0,0},
  119.  /* move 3: ouch. */
  120.  {19,20,20,19,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
  121.  /* move 4: cast spell. */
  122.  {0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
  123.  /* move 5: fire projectile. */
  124.  {5,6,7,8,9,10,10,11,11,12,12,255,0,0,0,0,0,0,0,0,0,0,0,0,0},
  125.  /* move 6: get item. */
  126.  {0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
  127.  /* move 7: big ouch. */
  128.  {19,20,21,22,23,24,25,26,27,27,27,27,27,28,28,29,29,29,29,29,30,31,32,33,255},
  129.  /* move 8: death. */
  130.  {29,29,29,29,29,29,29,29,29,29,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
  131.  /* move 9: ???????? */
  132.  {0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}},
  133.  /* maxhp */ 100,
  134.  /* name */  "GOLEM",
  135.  /* numframes */ 34,
  136.  /* move speed */ 1,
  137.  /* xpvalue */ 50,
  138.  /* hitframe */ {0,0,7,0,0,7,0,15,0,0},
  139.  /* range */  15},
  140.  {{
  141.  /* move 0: standing still. */
  142.  {0,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
  143.  /* move 1: walking. */
  144.  {0,1,2,3,3,2,1,0,0,4,5,6,6,5,4,0,255,0,0,0,0,0,0,0,0},
  145.  /* move 2: melee attack. */
  146.  {7,8,9,10,11,12,13,14,15,16,17,18,19,255,0,0,0,0,0,0,0,0,0,0,0},
  147.  /* move 3: ouch. */
  148.  {20,21,21,20,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
  149.  /* move 4: cast spell. */
  150.  {0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
  151.  /* move 5: fire projectile. */
  152.  {5,6,7,8,9,10,10,11,11,12,12,255,0,0,0,0,0,0,0,0,0,0,0,0,0},
  153.  /* move 6: get item. */
  154.  {0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
  155.  /* move 7: big ouch. */
  156.  {20,21,22,23,23,23,23,23,24,25,26,26,26,26,26,26,26,26,26,26,25,24,23,21,255},
  157.  /* move 8: death. */
  158.  {27,28,29,30,31,32,33,34,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
  159.  /* move 9: ???????? */
  160.  {0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}},
  161.  /* maxhp */ 50,
  162.  /* name */  "MEAN ORC",
  163.  /* numframes */ 35,
  164.  /* move speed */ 2,
  165.  /* xpvalue */ 50,
  166.  /* hitframe */ {0,0,7,0,0,7,0,10,0,0},
  167.  /* range */  15},
  168.  {{
  169.  /* move 0: standing still. */
  170.  {0,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
  171.  /* move 1: walking. */
  172.  {0,1,2,3,4,3,2,1,0,5,6,7,8,7,6,5,255,0,0,0,0,0,0,0,0},
  173.  /* move 2: melee attack. */
  174.  {9,10,11,11,12,13,13,13,12,11,10,9,255,0,0,0,0,0,0,0,0,0,0,0,0},
  175.  /* move 3: ouch. */
  176.  {18,19,18,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
  177.  /* move 4: cast spell. */
  178.  {14,14,15,15,16,16,17,17,17,17,17,17,17,16,15,14,255,0,0,0,0,0,0,0,0},
  179.  /* move 5: fire projectile. */
  180.  {14,15,16,17,17,17,17,16,15,14,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
  181.  /* move 6: get item. */
  182.  {27,28,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
  183.  /* move 7: big ouch. */
  184.  {18,19,20,20,20,20,20,21,22,23,24,24,24,24,24,24,24,24,24,24,25,25,26,26,255},
  185.  /* move 8: death. */
  186.  {24,24,24,24,24,24,24,24,24,24,25,25,25,25,25,25,26,26,26,26,26,26,26,26,255},
  187.  /* move 9: ???????? */
  188.  {0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}},
  189.  /* maxhp */ 400,
  190.  /* name */  "SYLABULUS",
  191.  /* numframes */ 29,
  192.  /* move speed */ 2,
  193.  /* xpvalue */ 200,
  194.  /* hitframe */ {0,0,5,0,8,5,0,10,0,0},
  195.  /* range */  20}
  196.  };
  197.